Global System for Mobile Communications (GSM) is the dominant world standard for 3G wireless voice and data communications. In a typical GSM communication system, speech and/or data is encoded at the source and transmitted over a network to a receiver. Upon receipt of the transmitted data, the receiver performs channel equalization and decoding to return the speech and/or data to a recognizable form for delivery to the user. GSM/EDGE (Enhanced Data rates for Global Evolution) represents the latest stage in the evolution of the GSM standard. EDGE uses a modulation schema to enable theoretical data speeds of up to 384 kbits within the existing GSM spectrum.
The General Packet Radio System (GPRS) was developed as a packet data network for the GSM standard. A GSM cellular phone uses Gaussian Minimum Shift Keying (GMSK) for modulation at the Physical Layer. The GSM specification has gone through several revisions, each adding enhancements to the network. One such revision of the specification is Enhanced GPRS or EGPRS, which provides higher data rates through the use of 8PSK modulation and GMSK on the Physical Layer, in addition to performance improvements in the Radio Link Control (RLC) and Media Access Control (MAC) sublayers through the use of adaptive coding and incremental redundancy. These changes in the Physical Layer are essential to the EDGE component of the modern GSM/EDGE Network.
In EGPRS, the RLC/MAC layers on either side of the network are situated at the mobile electronic communication device, or Mobile Station (MS), and the Base Station Subsystem (BSS). The peer RLC/MAC entities communicate using Radio Blocks of one or more RLC/MAC Protocol Data Units (PDU). Each PDU is numbered using a Block Sequence Number (BSN). In acknowledge mode, the BSNs are tracked by the sending and receiving RLC/MAC entities to allow for erroneous blocks to be corrected by sending additional and incremental information to aid decoding. For downlink (BSS to MS) status, the BSS polls the MS to request the status of received blocks, and the MS replies with a status report (the PACKET DOWNLINK ACK/NACK) within a required period of time. For uplink (MS to BSS) status, the BSS periodically sends a status report (PACKET UPLINK ACK/NACK) to each communicating MS.
Procedures used at the radio interface for the GPRS Medium Access Control/Radio Link Control (MAC/RLC) layer are set forth in the 3rd Generation Partnership Project; Technical Specification Group Digital Cellular Telecommunications System (Phase 2+); General Packet Radio Service (GPRS); Mobile Station (MS)—Base Station System (BSS) interface; Radio Link Control/Medium Access Control (RLC/MAC) protocol 3GPP TS 04.60 V8.27.0, September 2005.
The RLC function defines the procedures for segmentation and reassembly of Logical Link Control (LLC) PDUs into RLC/MAC blocks, as well as link adaptation. Different RLC/MAC block structures are defined for data transfers and control message transfers. The RLC/MAC block structures for data transfers are different for GPRS and EGPRS, whereas the same RLC/MAC block structure is used for control message transfers. The EGPRS downlink RLC data block includes one or more extension (E) bits for indicating the presence of optional extension octets in the RLC data block. Although the E bit is considered to be a header field, it is transmitted in the data portion of the block. When the E bit is reset to 0, then an optional extension octet follows immediately thereafter, where the extension octet comprises a 7-bit length indicator (LI) for indicating the length (i.e. number of octets) of the LLC PDU, and a further E bit to indicate any further extension octets. If the E bit is set to 1 then no extension octet follows and the LLC PDUs follow immediately. Thus, when the E bit of the data block is set to 1, this indicates that an LLC frame ends in the current RLC data block. The RLC/MAC component within the Mobile Station (MS) then passes the data to upper layers, which perform their own error checking.
During downlink transmission of EDGE data blocks, the Mobile Station (MS) will sometimes decode the data block incorrectly, yet the CRC check will pass. For example, if the E bit is incorrectly reset to 0 as a result of packet corruption, the RLC data block will be misinterpreted as length indicators (LI) of the LLC data frames remaining in that RLC data block. This causes the LLC data frame to end prematurely. Ultimately, this error is detected within the LLC layer, and the entire IP packet is discarded and re-requested from the Base Station (BS), contributing to delay and reduced data throughput.